package com.pictureBook.merchant.controller;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;

/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Ding
 * @create 2022/1/8 17:34
 */
@CrossOrigin
@RestController
@Api("消息通知控制器")
@RequestMapping("/notice")
public class NoticeController {
    /**
     * 获取消息列表
     * @param request HttpServletRequest
     * @return JSON 消息列表
     */
    @RequestMapping("/getList")
    @ResponseBody
    public JSONObject getNoticeList(HttpServletRequest request){
        JSONObject json = new JSONObject();
        json.put("code", 200);
        json.put("msg", "success");
        JSONArray list = new JSONArray();
        JSONArray messages = new JSONArray();
        JSONObject obj = new JSONObject();
        obj.put("image","https://i.gtimg.cn/club/item/face/img/8/15918_100.gif");
        obj.put("notice","10月31日上午全社区人员依次进社区进行核酸检测");
        obj.put("msg","这是一个消息");
        list.add(obj);
        messages.add(obj);
        JSONObject data = new JSONObject();
        data.put("total", 1);
        data.put("list",list);
        data.put("message",messages);
        json.put("data", data);
        return json;
    }

    @ResponseBody
    @RequestMapping("/getTableList")
    public JSONObject getTableList(@RequestParam("pageNo") int page, @RequestParam("pageSize") int limit, @RequestParam(value = "title", required = false) String key){
        JSONObject json = new JSONObject();
//        PageInfo<JSONObject> info = service.getTableList(page, limit, key);
        json.put("code", 200);
        json.put("msg", "success");
        JSONObject list = new JSONObject();
        list.put("list", new ArrayList<>());
        json.put("data", list);
        json.put("total", 0);
        return json;
    }

    /**
     * 删除通知
     * @param data 通知ID
     * @return JSON 操作信息
     */
    @ResponseBody
    @RequestMapping("/doDelete")
    public JSONObject deleteNotice(@RequestBody JSONObject data){
        JSONObject json = new JSONObject();
        int count = 0;
        if(count > 0){
            json.put("code", 200);
            json.put("msg", "删除成功, 共 " + count + " 条数据");
        }else{
            json.put("code", 0);
            json.put("msg", "删除时遇到问题, 共 " + count + " 条被删除");
        }
        return json;
    }

    /**
     * 编辑通知 & 添加通知
     * @param data 消息信息
     * @return JSON 操作信息
     */
    @RequestMapping("/doEdit")
    @ResponseBody
    public JSONObject editNotice(@RequestBody JSONObject data, HttpServletRequest request){
        JSONObject json = new JSONObject();
        String header = request.getHeader("Authorization");
        json.put("code", 200);
        json.put("msg", "编辑成功");
        return json;
    }

    @ResponseBody
    @RequestMapping("/getUser")
    public JSONObject getUser(){
        JSONObject json = new JSONObject();
        json.put("code", 200);
        json.put("data", null);
        json.put("msg", "success");
        return json;
    }
}
